import request from '@/config/axios'

// 账单信息 VO
export interface BillVO {
  id: number // 唯一ID
  billTitle: string // 账单标题
  billRemark: string // 账单备注
  billAmount: number // 账单金额
  amountType: string // 收支类型
  accountId: number // 变动账户
  cate1: string // 一级分类
  cate2: string // 二级分类
  cate3: string // 三级分类
  tags: string // 账单标签
  templateId: string // 账单所属模板
  billType: string // 账单类型
  billStage: string // 账单阶段
  billStatus: string // 账单状态
  transAccountId: number // 转账去向
  billTime: Date // 账单时间
  extRemark: string // 外部说明
  extFromAccount: string // 外部付款账户
  extFromOwner: string // 外部付款人
  extToAccount: string // 外部收款账户
  extToOwner: string // 外部收款人
  extInfo: string // 补充信息
  extBillSource: string // 账单来源
  extParam: string // 外部参数
  orderNum: number // 排序号
  hasProperty: number // 是否为资产
  propertyName: string // 资产名称
  propertyCheckTime: Date // 资产盘点时间
  propertyCate: string // 资产类别
  propertyValue: number // 资产价值
  propertyParam: string // 资产参数
  propertyRemark: string // 资产备注
  propertyStatus: string // 资产状态
}

// 账单信息 API
export const BillApi = {
  // 查询账单信息分页
  getBillPage: async (params: any) => {
    return await request.get({ url: `/bill/bill/page`, params })
  },

  // 查询账单信息详情
  getBill: async (id: number) => {
    return await request.get({ url: `/bill/bill/get?id=` + id })
  },

  // 新增账单信息
  createBill: async (data: BillVO) => {
    return await request.post({ url: `/bill/bill/create`, data })
  },

  // 修改账单信息
  updateBill: async (data: BillVO) => {
    return await request.put({ url: `/bill/bill/update`, data })
  },

  // 修改账单信息
  updateBatchBill: async (ids,data: BillVO) => {
    return await request.put({ url: `/bill/bill/update-batch?ids=` + ids, data })
  },

  // 删除账单信息
  deleteBill: async (id: number) => {
    return await request.delete({ url: `/bill/bill/delete?id=` + id })
  },

  // 删除账单信息
  deleteBatchBill: async (ids) => {
    return await request.delete({ url: `/bill/bill/delete-batch?ids=` + ids })
  },

  // 导出账单信息 Excel
  exportBill: async (params) => {
    return await request.download({ url: `/bill/bill/export-excel`, params })
  }

}

// 下载用户导入模板
export const importUserTemplate = () => {
  return request.download({ url: '/bill/bill/get-import-template' })
}
